﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using BusinessLogicLayer;
using Entities;
using DataAccessLayer;
using DevComponents.DotNetBar;
using BusinessLogicLayer;

namespace QuanLyTKB_TienDoGD.QuanLyTKBDeNghi
{
    public partial class frmChiTietTKBDeNghi : Office2007Form
    {
        private IRepository<ChiTietTKBDeNghi> _repository;
        List<ChiTietTKBDeNghi> ds = new List<ChiTietTKBDeNghi>();
        ChiTietTKBDeNghi ql;
        private ChiTietTKBDeNghiManager _manager;

        public string MaDN = "";

        public frmChiTietTKBDeNghi()
        {
            InitializeComponent();
        } 


        private void btnLamMoi_Click(object sender, EventArgs e)
        {
            _repository = new Repository<ChiTietTKBDeNghi>();
            _manager = new ChiTietTKBDeNghiManager(_repository);

            {
                try
                {
                    List<ChiTietTKBDeNghi> dsTKB = ChiTietTKBDeNghi.Repository.Find(s => s.MaDN == MaDN).ToList();
                    if (dsTKB.Count > 0)
                        dgvChiTietTKB.DataSource = dsTKB;
                    else
                        dgvChiTietTKB.DataSource = null;
                }
                catch { }
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            frmThemChitietTKBDeNghi frm = new frmThemChitietTKBDeNghi(_manager, this);
            
            frm.Text = "Thêm Thời Khóa Biểu";
            frm.btnThem.Text = "Thêm";
            frm.ShowDialog();
            btnLamMoi.PerformClick();
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (dgvChiTietTKB.SelectedRows.Count > 0)
            {
                ql = new ChiTietTKBDeNghi();
                DataGridViewRow dgrow = dgvChiTietTKB.SelectedRows[0];

                ql.MaTKBDN = dgrow.Cells[0].Value.ToString();
                ql.MaLop = dgrow.Cells[1].Value.ToString();
                
                ql.GhepLop = dgrow.Cells[2].Value.ToString();
                
                ql.MaMH = dgrow.Cells[3].Value.ToString();
                ql.MaGV = dgrow.Cells[4].Value.ToString();
                
                ql.SoTietCanXep = Convert.ToInt32(dgrow.Cells[5].Value.ToString());
                ql.SoTietThucHanhCanXep = Convert.ToInt32(dgrow.Cells[6].Value.ToString());

                ql.DeNghi = dgrow.Cells[7].Value.ToString();

                ql.MaDN = dgrow.Cells[8].Value.ToString();                

                var frm = new frmThemChitietTKBDeNghi(_manager, this, ql);
                frm.Text = "Cập nhật Thời Khóa Biểu";
                frm.btnThem.Text = "Cập nhật";
                frm.Show();
                btnLamMoi.PerformClick();
            }
            else MessageBox.Show("Vui lòng chọn TKB đề nghị để cập nhật", "Thông Báo");
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgvChiTietTKB.SelectedRows.Count > 0)
            {
                if (MessageBox.Show("Bạn có muốn xóa TKB đề nghị đã chọn ?", "Xóa TKB đề nghị", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) == DialogResult.Cancel)
                    return;
                foreach (DataGridViewRow row in dgvChiTietTKB.Rows)
                {
                    if (row.Selected)
                    {
                        //
                        var aResult = _manager.Delete(row.Cells[0].Value.ToString());
                        if (aResult.Success) MessageBox.Show("Xóa thành công");
                        else MessageBox.Show("Dữ liệu TKB đề nghị đang được sử dụng!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                btnLamMoi.PerformClick();
            }
            else MessageBox.Show("Vui lòng chọn TKB đề nghị để xóa", "Thông Báo");
        }

        private void frmChiTietTKBDeNghi_Load(object sender, EventArgs e)
        {
            btnLamMoi.PerformClick();
        }     

       
    }
}
